<template>
	<view class="login">
		<view class="login-bg">
			<image src="https://zaiyiqi-1322608024.cos.ap-nanjing.myqcloud.com/static/img/logo_back.png"
				mode="aspectFill">
			</image>
		</view>
		<view class="login-btn">
			<!-- 授权微信头像、昵称 -->
			<view class="btns">
				<image class="btns-img"
					src="https://zaiyiqi-1322608024.cos.ap-nanjing.myqcloud.com/static/img/btn/528x84.png" mode="">
				</image>
				<view class="btns-con" @click="login()">
					授权微信头像、昵称
				</view>
			</view>
		</view>
		<!-- <view class="btns">
			<image class="btns-img" src="https://zaiyiqi-1322608024.cos.ap-nanjing.myqcloud.com/static/img/btn/220 × 42.png" mode=""></image>
			<view class="btns-con" @click="openVip()">
				立即开通
			</view>
		</view> -->
	</view>
</template>

<script>
	import {
		getWxCode,
		getUserProfile
	} from "@/utils/login";
	//这里可以导入其他文件（比如：组件，工具js，第三方插件js，json文件，图片文件等等）
	export default {
		// 组件名称
		name: 'demo',
		// 组件参数 接收来自父组件的数据
		props: {},
		// 局部注册的组件,import引入的组件需要注入到对象中才能使用
		components: {},
		// 组件状态值
		data() {
			return {}
		},
		// 计算属性
		computed: {},
		// 侦听器
		watch: {},
		// 组件方法
		methods: {
			async login() {
				let res = await getUserProfile();
				const userInfo = {
					nickName: res.userInfo.nickName,
					avatarUrl: res.userInfo.avatarUrl
				}
				const wxCode = await getWxCode();
				console.log(wxCode, 'wxCode', userInfo, 'userInfo')
				let obj = {
					code: wxCode,
					platform: 'wechat',
					...userInfo
				}
				console.log(obj, 'obj')
				uni.showLoading({
					title: "登录中...",
					mask: true,
				});
				this.$http('config.login', obj, '').then(res => {
					console.log(res, 'asdlkjsadl')
					uni.setStorageSync('token', res.data.token);
					uni.setStorageSync('third', JSON.stringify(res.data));
					uni.hideLoading();
					this.$utils.setCache('userinfo', JSON.stringify(res.data))
					if (!res.data.nickname) {
						console.log(1)
						this.$Router.replace({
							path: '/pages/login/login-info'
						})
					} else {
						console.log(2)
						uni.switchTab({
							url: '/pages/index/index'
						})
						// 跳转到tabbar的页面
						// this.$Router.pushTab({
						// 	path: '/pages/index/index'
						// })
					}
				})

				// if (code == 1) {
				//     if (data.is_new_user) {
				//         uni.hideLoading();
				//         // this.showLoginPop = true;
				//         // this.loginData = data;
				// 		this.loginHandle(data);
				//     } else {
				//         this.loginHandle(data);
				//     }
				// } else {
				//     this.$toast({
				//         title: msg,
				//     });
				// }

				// this.$Router.replace({
				// 	path: '/pages/login/login-info'
				// })
			}
		},
		// 以下是生命周期钩子   注：没用到的钩子请自行删除
		/**
		 * 在实例初始化之后，组件属性计算之前，如data属性等
		 */
		beforeCreate() {},
		/**
		 * 组件实例创建完成，属性已绑定，但DOM还未生成，$ el属性还不存在
		 */
		created() {},
		/**
		 * 在挂载开始之前被调用：相关的 render 函数首次被调用。
		 */
		beforeMount() {},
		/**
		 * el 被新创建的 vm.$ el 替换，并挂载到实例上去之后调用该钩子。
		 * 如果 root 实例挂载了一个文档内元素，当 mounted 被调用时 vm.$ el 也在文档内。
		 */
		mounted() {},
		/**
		 * 数据更新时调用，发生在虚拟 DOM 重新渲染和打补丁之前。
		 * 你可以在这个钩子中进一步地更改状态，这不会触发附加的重渲染过程。
		 */
		beforeUpdate() {},
		/**
		 * 由于数据更改导致的虚拟 DOM 重新渲染和打补丁，在这之后会调用该钩子。
		 * 当这个钩子被调用时，组件 DOM 已经更新，所以你现在可以执行依赖于 DOM 的操作。
		 */
		updated() {},
		/**
		 * keep-alive 组件激活时调用。 仅针对keep-alive 组件有效
		 */
		activated() {},
		/**
		 * keep-alive 组件停用时调用。 仅针对keep-alive 组件有效
		 */
		deactivated() {},
		/**
		 * 实例销毁之前调用。在这一步，实例仍然完全可用。
		 */
		beforeDestroy() {},
		/**
		 * Vue 实例销毁后调用。调用后，Vue 实例指示的所有东西都会解绑定，
		 * 所有的事件监听器会被移除，所有的子实例也会被销毁。
		 */
		destroyed() {}
	}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<!--使用了scoped属性之后，父组件的style样式将不会渗透到子组件中，-->
<!--然而子组件的根节点元素会同时被设置了scoped的父css样式和设置了scoped的子css样式影响，-->
<style scoped lang="scss">
	.login {
		position: relative;
		width: 100%;
		height: 100%;

		&-bg {
			position: absolute;
			width: 100%;
			height: 100%;
			z-index: -1;

			image {
				width: 100%;
				height: 100%;
			}
		}

		&-btn {
			position: absolute;
			left: 50%;
			transform: translateX(-50%);
			// margin-left: -264rpx;
			bottom: 164rpx;
			width: 528rpx;
			height: 84rpx;

		}

		.btns {
			width: 528rpx;
			height: 84rpx;
			position: relative;

			&-img {
				width: 100%;
				height: 100%;
			}

			&-con {
				width: 100%;
				height: 100%;
				position: absolute;
				top: 0;
				left: 0;
				font-size: 32rpx;
				font-family: PingFang SC, PingFang SC;
				font-weight: 400;
				color: #FAFCFF;
				line-height: 84rpx;
				text-align: center;
			}
		}
	}
</style>